package Test;

public class Student {
/*	对象数组题目：
	   定义类Student，包含三个属性：学号number(int)，年级state(int)，成绩
	   score(int)。 创建20个学生对象，学号为1到20，年级和成绩都由随机数确定。
	   问题一：打印出3年级(state值为3）的学生信息。
	    问题二：使用冒泡排序按学生成绩排序，并遍历所有学生信息

	提示：
	     1) 生成随机数：Math.random()，返回值类型double; 
	   2) 四舍五入取整：Math.round(double d)，返回值类型long。

	5.声明一个日期类型MyDate：有属性：年year,月month，日day。创建2个日期
	    对象，分别赋值为：你的出生日期，你对象的出生日期，并显示信息。*/
	int number;
	int state;
	int score;
	
	//封装遍历功能
	public void print(Student[] stu){
		for (int i = 0; i < stu.length; i++) {
			System.out.println("学号为：" + stu[i].number + "\t年级为：" + stu[i].state + "\t成绩为：" + stu[i].score + "\n");
		}
	}
	
	//封装比较年级的方法，方法中运用了Student数组 和 int类型的数据  所以形参需要2个。
	public void getState(Student[] stu,int num){
		for (int i = 0; i < stu.length; i++) {
			if(stu[i].state == num)
				System.out.println("学号为：" + stu[i].number + "\t年级为：" + stu[i].state + "\t成绩为：" + stu[i].score + "\n");
		}
	}
	
	//封装冒泡排序的方法
	public void sort(Student[] stu){
		for (int i = 0; i < stu.length - 1; i++) {
			
			for (int j = 0; j < stu.length - 1 - i; j++) {
				//两两比较 交换位置
				if(stu[j].score > stu[j + 1].score){
					
					//比较的是成绩元素 但换的是成绩所在的数组 因为stu数组里面的元素 都是引用 所以用Student类型接收
					Student temp = stu[j];
					stu[j] = stu[j + 1];
					stu[j + 1] = temp;
				}
			}
		}
	}
	
	
	
	
}
